Zobrazeni framu z DLL v hlavni aplikaci

Otázka od: delphi-konference@bcpraha.com

25. 9. 2002 13:22

Ahoj,

narazil jsem na nasledujici problem: Definoval jsem si v DLL frame s ovladacimi

prvky, ktery zobrazuju na zalozce komponenty TPageControl v dialogu v hlavni
EXE aplikaci. V DLL je funkce, ktera vraci vytvoreny frame a v aplikaci si ho
vlozim
do noveho TabSheetu. Vse krasne funguje vse se zobrazuje.

Bohuzel, problem je pri posouvani se po ovladacich prvcich klavesou TAB. Dialog

totiz ovladaci prvky vytvorene v knihovne DLL naprosto ignoruje. Zkoumal jsem,
kde je chyba a prisel jsem na nasledujici. V jednotce Forms je globalni funkce
GetParentForm, ktera zjistuje rodicovky formular. Jenze v pripade ovladach
prvku
vytvorenych v DLL se sice rodicovsky formular najde spravny (odkaz na formular
dialogu z hlavnich aplikace), ale porovnani "Form is TCustomForm" probehne
samozrejme vzdy na False, protoze ta funkce se vola v DLL a formular je
vytvoreny
v EXE. Dostal jsem si tim do naprosto patove situace, protoze s tim se neda nic

delat, to je jadro VCL.

Potreboval bych nejak zobrazit na zalozkach v dialogu ovladaci prvky vytvorene
v
DLL tak, aby se po nich dalo i posunovat pomoci TAB a sipek. Nezkousel jste to
nekdo nebo nemate nekdo nejaky napad?

Diky za kazdou informaci.

Ludek

Odpovedá: Ondrej Kelle

25. 9. 2002 13:11

> ale porovnani "Form is TCustomForm" probehne
> samozrejme vzdy na False, protoze ta funkce se vola
> v DLL a formular je vytvoreny v EXE.

Presne tak, TCustomForm v DLL <> TCustomForm v EXE.
Skus EXE aj DLL prebuildovat s runtime packages.
Pripadne prepis tu DLL na runtime package.

HTH
TOndrej

Odpovedá: Tom Beran

25. 9. 2002 12:34


 Zkus EXE i DLL prelozit s run-time VCL balicky.

 Hodne zdaru!!!

Tom

---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.391 / Virová báze: 222 - datum vydání: 19.9.2002

Odpovedá: Jan Sebelík

25. 9. 2002 18:00

> Odesílatel: delphi-konference@bcpraha.com
> "Form is TCustomForm" probehne
> samozrejme vzdy na False, protoze ta funkce se vola v DLL a formular je
vytvoreny
> v EXE.

Built with Runtime packages?

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Odpovedá: delphi-konference@bcpraha.com

26. 9. 2002 9:42

> > Odesílatel: delphi-konference@bcpraha.com
> > "Form is TCustomForm" probehne
> > samozrejme vzdy na False, protoze ta funkce se vola v DLL a formular je
vytvoreny
> > v EXE.
>
> Built with Runtime packages?

Myslite, ze by pomohlo napsat to v CLX knihovne a pouzit QT DLLko?

Ludek